1. Field of the Invention
The present invention relates generally to playing, copying, and managing music files, such as those found on compact discs (CDs), and more particularly to techniques for retrieving, associating, and linking various sources of metadata for the music files.
2. Description of the Background Art
Most audio CDs contain only digital music and a table of contents that tells the player how many tracks are present, the length of each track, and where on the disc each track starts. In general, audio CDs do not carry “metadata” such as the title of the album, the artist that recorded it, and the names of the songs or tracks contained on it.
Metadata is of value when playing, copying, and managing music files. Metadata includes descriptive information about music tracks and albums, so as to allow users to more easily identify files. For example, if a song title is available as metadata, an audio CD player can look up additional information from a web server, and can display artist name, album title, and song title while a track is being played. The user can view the contents of the CD by track name and select the tracks by name for random access playback. If a user makes a copy of a music file from a CD (a process known as “ripping”), or downloads a music file from an online source, metadata can be used as a default filename. Metadata is also useful in organizing and categorizing a collection of files, for example by artist name or musical genre; metadata can also be used as an identifier for gaining access to additional information about a song, artist, or CD.
Existing music players and CD management (“ripper”) software applications that make use of available metadata include, for example:                Real Jukebox, available and CD from RealNetworks, Inc. of Seattle, Wash.;        Winamp, available from Nullsoft, Inc., a division of America Online, Inc., of Dulles, Va.;        Easy CD Creator 5, available from Roxio, Inc. of Santa Clara, Calif.;        KDE CD Player for Linux; and        Toast, available from Roxio, Inc. of Santa Clara, Calif.        
Conventionally, since CDs themselves do not generally carry metadata, some music client software applications (including players and CD management software) obtain metadata from external sources. For example, in some software applications users enter metadata manually, and the entered metadata is then associated with some unique characteristics of a CD (such as track lengths), so that the entered metadata can later be accessed whenever the CD is re-inserted in the user's computer. Alternatively, the client software can obtain metadata from a central server that is run by an application service provider (ASP). Such functionality is provided, for example, by CDDB, available from Gracenote of Berkeley, Calif., or by FreeDB, available at “http://www.freedb.org”. The Windows Media Player client, available from Microsoft Corporation of Redmond, Wash., also communicates with a CD Metadata ASP to obtain metadata.
FIG. 1 depicts a system for obtaining metadata from a remote server according to the prior art. An end user of client software 102 (such as a music player or ripper application) inserts CD 101 in a connected CD drive (not shown). Client software 102 requests that metadata client module 104 identify CD 101 and return the metadata for use by software 102. Client module 104 may derive a Disc ID from available information from CD 101, such as table of contents (TOC). Module 104 then sends the Disc ID over a network connection to a remote metadata ASP 103. The request is typically sent over the Internet using Hypertext Transfer Protocol (HTTP) as a transmission protocol. Metadata server 105 receives the request and runs a query on metadata database 106 to find a metadata record that matches the Disc ID. Database 106 provides the metadata, which is then transmitted back to module 104. Module 104 makes the data available to software 102.
Existing systems such as CDDB and FreeDB create the metadata database from input provided by users of the system. If, when a CD is inserted, no matching metadata is found, software 102 prompts the user to enter the metadata manually. The user-entered metadata is then transmitted back to Metadata ASP 103 and is added to database 106 and associated with a new disc identifier for the inserted CD.
FIG. 2 depicts this method in more detail, as generally performed by metadata client 104 according to the prior art. Client 104 extracts 201 Disc IDs from the CD TOC data. Client 104 then transmits 202 the Disc IDs to metadata server 105. If server 105 indicates 203 that matching metadata was found in database 106, the metadata is made available 206 to client software 102. If server 105 indicates 203 that no match was found, client 104 prompts the user 202 to enter the missing metadata. Once the user has provided the metadata, client 104 transmits 205 the metadata to server 105, which saves the metadata in database 106. The metadata is made available 206 to client software 102.
FIG. 3 depicts a server method of obtaining metadata according to the prior art. Server 105 receives a request 301 for metadata from client 104 over HTTP or some other protocol. Server 105 looks up 302 the Disc ID in metadata database 106. If a match exists 303, server 105 returns 304 the metadata for the match to client 104, along with status indicating a match 304. Otherwise, server 105 returns a status code indicating that no matches were found.
Existing systems do not provide a mechanism for linking metadata from two or more sources. Thus, if metadata is available from some external source, such as a commercially developed third-party database of music information, existing systems are not generally able to integrate such external metadata with the above-described scheme. In general, then, prior art metadata systems do not take advantage of the availability of more accurate and/or more complete information that may be available from a variety of sources. Furthermore, existing systems do not provide a mechanism for establishing links between metadata records in disparate databases, nor do they allow for management of various data sources having different levels of credibility.